home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #5 / Amiga Plus CD - 2000 - No. 5.iso / Tools / Dev / fpc / amigaunits / prefs.pas < prev    next >
Pascal/Delphi Source File  |  2000-01-01  |  18KB  |  696 lines

  1. {
  2.     This file is part of the Free Pascal run time library.
  3.  
  4.     A file in Amiga system run time library.
  5.     Copyright (c) 1998-2000 by Nils Sjoholm
  6.     member of the Amiga RTL development team.
  7.  
  8.     See the file COPYING.FPC, included in this distribution,
  9.     for details about the copyright.
  10.  
  11.     This program is distributed in the hope that it will be useful,
  12.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  14.  
  15.  **********************************************************************}
  16.  
  17. unit prefs;
  18.  
  19. INTERFACE
  20. uses exec, iffparse, graphics, timer, intuition;
  21.  
  22.  
  23. { Font }
  24. {***************************************************************************}
  25.  
  26. const
  27.  ID_FONT = 1179602516;
  28.  
  29.  
  30.  FONTNAMESIZE = 128;
  31.  
  32. type
  33.  pFontPrefs = ^tFontPrefs;
  34.  tFontPrefs = record
  35.     fp_Reserved     : Array[0..2] of Longint;
  36.     fp_Reserved2    : WORD;
  37.     fp_Type         : WORD;
  38.     fp_FrontPen,
  39.     fp_BackPen,
  40.     fp_DrawMode     : Byte;
  41.     fp_TextAttr     : tTextAttr;
  42.     fp_Name         : Array[0..FONTNAMESIZE-1] of Char;
  43.  end;
  44.  
  45. const
  46. { constants for FontPrefs.fp_Type }
  47.  FP_WBFONT     = 0;
  48.  FP_SYSFONT    = 1;
  49.  FP_SCREENFONT = 2;
  50.  
  51.  
  52. {***************************************************************************}
  53.  
  54. { IControl }
  55. {***************************************************************************}
  56.  
  57. const
  58.  ID_ICTL = 1229149260;
  59.  
  60. Type
  61.  pIControlPrefs = ^tIControlPrefs;
  62.  tIControlPrefs = record
  63.     ic_Reserved     : Array[0..3] Of Longint;       { System reserved              }
  64.     ic_TimeOut      : WORD;                         { Verify timeout               }
  65.     ic_MetaDrag     : Integer;                      { Meta drag mouse event        }
  66.     ic_Flags        : ULONG;                        { IControl flags (see below)   }
  67.     ic_WBtoFront,                                   { CKey: WB to front            }
  68.     ic_FrontToBack,                                 { CKey: front screen to back   }
  69.     ic_ReqTrue,                                     { CKey: Requester TRUE         }
  70.     ic_ReqFalse     : Byte;                         { CKey: Requester FALSE        }
  71.  end;
  72.  
  73. const
  74. { flags for IControlPrefs.ic_Flags }
  75.  ICB_COERCE_COLORS = 0;
  76.  ICB_COERCE_LACE   = 1;
  77.  ICB_STRGAD_FILTER = 2;
  78.  ICB_MENUSNAP      = 3;
  79.  ICB_MODEPROMOTE   = 4;
  80.  
  81.  ICF_COERCE_COLORS = 1;
  82.  ICF_COERCE_LACE   = 2;
  83.  ICF_STRGAD_FILTER = 4;
  84.  ICF_MENUSNAP      = 8;
  85.  ICF_MODEPROMOTE   = 16;
  86.  
  87.  
  88. {***************************************************************************}
  89.  
  90.   {      File format for input preferences     }
  91.  
  92.  
  93. const
  94.  ID_INPT = 1229869140;
  95.  
  96. Type
  97.  pInputPrefs = ^tInputPrefs;
  98.  tInputPrefs = record
  99.     ip_Keymap      : Array[0..15] of Char;
  100.     ip_PointerTicks : WORD;
  101.     ip_DoubleClick,
  102.     ip_KeyRptDelay,
  103.     ip_KeyRptSpeed : tTimeVal;
  104.     ip_MouseAccel  : Integer;
  105.  end;
  106.  
  107.  {      File format for locale preferences }
  108.  
  109. const
  110.  ID_LCLE = 1279478853;
  111.  ID_CTRY = 1129599577;
  112.  
  113.  
  114. Type
  115.  pCountryPrefs = ^tCountryPrefs;
  116.  tCountryPrefs = record
  117.     cp_Reserved     : Array[0..3] of ULONG;
  118.     cp_CountryCode  : ULONG;
  119.     cp_TelephoneCode: ULONG;
  120.     cp_MeasuringSystem : Byte;
  121.  
  122.     cp_DateTimeFormat  : Array[0..79] of Char;
  123.     cp_DateFormat      : Array[0..39] of Char;
  124.     cp_TimeFormat      : Array[0..39] of Char;
  125.  
  126.     cp_ShortDateTimeFormat  : Array[0..79] of Char;
  127.     cp_ShortDateFormat      : Array[0..39] of Char;
  128.     cp_ShortTimeFormat      : Array[0..39] of Char;
  129.  
  130.     { for numeric values }
  131.     cp_DecimalPoint,
  132.     cp_GroupSeparator,
  133.     cp_FracGroupSeparator   : Array[0..9] of Char;
  134.     cp_Grouping,
  135.     cp_FracGrouping         : Array[0..9] of Byte;
  136.  
  137.     { for monetary values }
  138.     cp_MonDecimalPoint,
  139.     cp_MonGroupSeparator,
  140.     cp_MonFracGroupSeparator   : Array[0..9] of Char;
  141.     cp_MonGrouping,
  142.     cp_MonFracGrouping         : Array[0..9] of Byte;
  143.     cp_MonFracDigits,
  144.     cp_MonIntFracDigits        : Byte;
  145.  
  146.     { for currency symbols }
  147.     cp_MonCS,
  148.     cp_MonSmallCS,
  149.     cp_MonIntCS                : Array[0..9] of Char;
  150.  
  151.     { for positive monetary values }
  152.     cp_MonPositiveSign         : Array[0..9] of Char;
  153.     cp_MonPositiveSpaceSep,
  154.     cp_MonPositiveSignPos,
  155.     cp_MonPositiveCSPos        : Byte;
  156.  
  157.     { for negative monetary values }
  158.     cp_MonNegativeSign         : Array[0..9] of Char;
  159.     cp_MonNegativeSpaceSep,
  160.     cp_MonNegativeSignPos,
  161.     cp_MonNegativeCSPos        : Byte;
  162.  
  163.     cp_CalendarType            : Byte;
  164.  end;
  165.  
  166.  pLocalePrefs = ^tLocalePrefs;
  167.  tLocalePrefs = record
  168.     lp_Reserved         : Array[0..3] of ULONG;
  169.     lp_CountryName      : Array[0..31] of Char;
  170.     lp_PreferredLanguages : Array[0..9] of Array[0..29] of Char;
  171.     lp_GMTOffset        : Longint;
  172.     lp_Flags            : ULONG;
  173.     lp_CountryData      : tCountryPrefs;
  174.  end;
  175.  
  176.    {   File format for overscan preferences  }
  177.  
  178. const
  179.     ID_OSCN = 1330856782;
  180.     OSCAN_MAGIC = $FEDCBA89;
  181.  
  182.  
  183. Type
  184.  pOverscanPrefs = ^tOverscanPrefs;
  185.  tOverscanPrefs = record
  186.     os_Reserved,
  187.     os_Magic         : ULONG;
  188.     os_HStart,
  189.     os_HStop,
  190.     os_VStart,
  191.     os_VStop         : WORD;
  192.     os_DisplayID     : ULONG;
  193.     os_ViewPos,
  194.     os_Text          : tPoint;
  195.     os_Standard      : tRectangle;
  196.  end;
  197.  
  198. { os_HStart, os_HStop, os_VStart, os_VStop can only be looked at if
  199.  * os_Magic equals OSCAN_MAGIC. If os_Magic is set to any other value,
  200.  * these four fields are undefined
  201.  }
  202.  
  203.  
  204. {***************************************************************************}
  205.  
  206.   {      File format for palette preferences    }
  207.  
  208.  
  209. const
  210.     ID_PALT = 1346456660;
  211.  
  212. Type
  213.  pPalettePrefs = ^tPalettePrefs;
  214.  tPalettePrefs = record
  215.     pap_Reserved     : Array[0..3] of Longint;    { System reserved                }
  216.     pap_4ColorPens   : Array[1..32] of WORD;
  217.     pap_8ColorPens   : Array[1..32] of WORD;
  218.     pap_Colors       : Array[1..32] of tColorSpec;     { Used as full 16-bit RGB values }
  219.  end;
  220.  
  221.  
  222. {***************************************************************************}
  223.  
  224.  
  225.  {      File format for pointer preferences }
  226.  
  227. const
  228.       ID_PNTR = 1347310674;
  229.  
  230.  
  231. Type
  232.  pPointerPrefs = ^tPointerPrefs;
  233.  tPointerPrefs = record
  234.     pp_Reserved : Array[0..3] of ULONG;
  235.     pp_Which,                             { 0=NORMAL, 1=BUSY }
  236.     pp_Size,                              { see <intuition/pointerclass.h> }
  237.     pp_Width,                             { Width in pixels }
  238.     pp_Height,                            { Height in pixels }
  239.     pp_Depth,                             { Depth }
  240.     pp_YSize,                             { YSize }
  241.     pp_X, pp_Y  : WORD;                   { Hotspot }
  242.  
  243.     { Color Table:  numEntries = (1 << pp_Depth) - 1 }
  244.  
  245.     { Data follows }
  246.  end;
  247.  
  248. {***************************************************************************}
  249.  
  250. Const
  251. { constants for PointerPrefs.pp_Which }
  252.  WBP_NORMAL    =  0;
  253.  WBP_BUSY      =  1;
  254.  
  255. {***************************************************************************}
  256.  
  257. Type
  258.  pRGBTable = ^tRGBTable;
  259.  tRGBTable = record
  260.     t_Red,
  261.     t_Green,
  262.     t_Blue  : Byte;
  263.  end;
  264.  
  265. {***************************************************************************}
  266.  
  267.   {    File format for preferences header }
  268.  
  269. const
  270.  ID_PREF = 1347568966;
  271.  ID_PRHD = 1347569732;
  272.  
  273. Type
  274.  pPrefHeader = ^tPrefHeader;
  275.  tPrefHeader = record
  276.     ph_Version,             { version of following data }
  277.     ph_Type     : Byte;     { type of following data    }
  278.     ph_Flags    : ULONG;    { always set to 0 for now   }
  279.  end;
  280.  
  281.   {     File format for graphics printer preferences }
  282.  
  283. const
  284.  ID_PGFX = 1346848344;
  285.  
  286. Type
  287.  pPrinterGfxPrefs = ^tPrinterGfxPrefs;
  288.  tPrinterGfxPrefs = record
  289.     pg_Reserved     : Array[0..3] of Longint;
  290.     pg_Aspect,
  291.     pg_Shade,
  292.     pg_Image        : Word
  293.     pg_Threshold    : Integer;
  294.     pg_ColorCorrect,
  295.     pg_Dimensions,
  296.     pg_Dithering    : Byte;
  297.     pg_GraphicFlags : WORD;
  298.     pg_PrintDensity : Byte;              { Print density 1 - 7 }
  299.     pg_PrintMaxWidth,
  300.     pg_PrintMaxHeight : WORD;
  301.     pg_PrintXOffset,
  302.     pg_PrintYOffset : Byte;
  303.  end;
  304.  
  305. const
  306. { constants for PrinterGfxPrefs.pg_Aspect }
  307.  PA_HORIZONTAL = 0;
  308.  PA_VERTICAL   = 1;
  309.  
  310. { constants for PrinterGfxPrefs.pg_Shade }
  311.  PS_BW          = 0;
  312.  PS_GREYSCALE   = 1;
  313.  PS_COLOR       = 2;
  314.  PS_GREY_SCALE2 = 3;
  315.  
  316. { constants for PrinterGfxPrefs.pg_Image }
  317.  PI_POSITIVE = 0;
  318.  PI_NEGATIVE = 1;
  319.  
  320. { flags for PrinterGfxPrefs.pg_ColorCorrect }
  321.  PCCB_RED   = 1;    { color correct red shades   }
  322.  PCCB_GREEN = 2;    { color correct green shades }
  323.  PCCB_BLUE  = 3;    { color correct blue shades  }
  324.  
  325.  PCCF_RED   = 1;
  326.  PCCF_GREEN = 2;
  327.  PCCF_BLUE  = 4;
  328.  
  329. { constants for PrinterGfxPrefs.pg_Dimensions }
  330.  PD_IGNORE   = 0;  { ignore max width/height settings }
  331.  PD_BOUNDED  = 1;  { use max w/h as boundaries        }
  332.  PD_ABSOLUTE = 2;  { use max w/h as absolutes         }
  333.  PD_PIXEL    = 3;  { use max w/h as prt pixels        }
  334.  PD_MULTIPLY = 4;  { use max w/h as multipliers       }
  335.  
  336. { constants for PrinterGfxPrefs.pg_Dithering }
  337.  PD_ORDERED     = 0;  { ordered dithering }
  338.  PD_HALFTONE    = 1;  { halftone dithering        }
  339.  PD_FLOYD       = 2;  { Floyd-Steinberg dithering }
  340.  
  341. { flags for PrinterGfxPrefs.pg_GraphicsFlags }
  342.  PGFB_CENTER_IMAGE      = 0;       { center image on paper }
  343.  PGFB_INTEGER_SCALING   = 1;       { force integer scaling }
  344.  PGFB_ANTI_ALIAS        = 2;       { anti-alias image      }
  345.  
  346.  PGFF_CENTER_IMAGE      = 1;
  347.  PGFF_INTEGER_SCALING   = 2;
  348.  PGFF_ANTI_ALIAS        = 4;
  349.  
  350.  
  351.  {      File format for PostScript printer preferences   }
  352.  
  353. const
  354.  ID_PSPD = 1347637316;
  355.  
  356. Type
  357.  pPrinterPSPrefs = ^tPrinterPSPrefs;
  358.  tPrinterPSPrefs = record
  359.     ps_Reserved     : Array[0..3] of Longint;               { System reserved }
  360.  
  361.     { Global printing attributes }
  362.     ps_DriverMode,
  363.     ps_PaperFormat  : Byte;
  364.     ps_Reserved1    : Array[0..1] of Byte;
  365.     ps_Copies,
  366.     ps_PaperWidth,
  367.     ps_PaperHeight,
  368.     ps_HorizontalDPI,
  369.     ps_VerticalDPI  : Longint;
  370.  
  371.     { Text Options }
  372.     ps_Font,
  373.     ps_Pitch,
  374.     ps_Orientation,
  375.     ps_Tab          : Byte;
  376.     ps_Reserved2    : Array[0..7] of Byte;
  377.  
  378.     { Text Dimensions }
  379.     ps_LeftMargin,
  380.     ps_RightMargin,
  381.     ps_TopMargin,
  382.     ps_BottomMargin,
  383.     ps_FontPointSize,
  384.     ps_Leading      : Longint;
  385.     ps_Reserved3    : Array[0..7] of Byte;
  386.  
  387.     { Graphics Options }
  388.     ps_LeftEdge,
  389.     ps_TopEdge,
  390.     ps_Width,
  391.     ps_Height       : Longint;
  392.     ps_Image,
  393.     ps_Shading,
  394.     ps_Dithering    : Byte;
  395.     ps_Reserved4    : Array[0..8] of Byte;
  396.  
  397.     { Graphics Scaling }
  398.     ps_Aspect,
  399.     ps_ScalingType,
  400.     ps_Reserved5,
  401.     ps_Centering    : Byte;
  402.     ps_Reserved6    : Array[0..7] of byte;
  403.  end;
  404.  
  405. const
  406. { All measurements are in Millipoints which is 1/1000 of a point, or
  407.  * in other words 1/72000 of an inch
  408.  }
  409.  
  410. { constants for PrinterPSPrefs.ps_DriverMode }
  411.  DM_POSTSCRIPT  = 0;
  412.  DM_PASSTHROUGH = 1;
  413.  
  414. { constants for PrinterPSPrefs.ps_PaperFormat }
  415.  PF_USLETTER = 0;
  416.  PF_USLEGAL  = 1;
  417.  PF_A4       = 2;
  418.  PF_CUSTOM   = 3;
  419.  
  420. { constants for PrinterPSPrefs.ps_Font }
  421.  FONT_COURIER      = 0;
  422.  FONT_TIMES        = 1;
  423.  FONT_HELVETICA    = 2;
  424.  FONT_HELV_NARROW  = 3;
  425.  FONT_AVANTGARDE   = 4;
  426.  FONT_BOOKMAN      = 5;
  427.  FONT_NEWCENT      = 6;
  428.  FONT_PALATINO     = 7;
  429.  FONT_ZAPFCHANCERY = 8;
  430.  
  431. { constants for PrinterPSPrefs.ps_Pitch }
  432.  PITCH_NORMAL     = 0;
  433.  PITCH_COMPRESSED = 1;
  434.  PITCH_EXPANDED   = 2;
  435.  
  436. { constants for PrinterPSPrefs.ps_Orientation }
  437.  ORIENT_PORTRAIT  = 0;
  438.  ORIENT_LANDSCAPE = 1;
  439.  
  440. { constants for PrinterPSPrefs.ps_Tab }
  441.  TAB_4     = 0;
  442.  TAB_8     = 1;
  443.  TAB_QUART = 2;
  444.  TAB_HALF  = 3;
  445.  TAB_INCH  = 4;
  446.  
  447. { constants for PrinterPSPrefs.ps_Image }
  448.  IM_POSITIVE = 0;
  449.  IM_NEGATIVE = 1;
  450.  
  451. { constants for PrinterPSPrefs.ps_Shading }
  452.  SHAD_BW        = 0;
  453.  SHAD_GREYSCALE = 1;
  454.  SHAD_COLOR     = 2;
  455.  
  456. { constants for PrinterPSPrefs.ps_Dithering }
  457.  DITH_DEFAULT = 0;
  458.  DITH_DOTTY   = 1;
  459.  DITH_VERT    = 2;
  460.  DITH_HORIZ   = 3;
  461.  DITH_DIAG    = 4;
  462.  
  463. { constants for PrinterPSPrefs.ps_Aspect }
  464.  ASP_HORIZ = 0;
  465.  ASP_VERT  = 1;
  466.  
  467. { constants for PrinterPSPrefs.ps_ScalingType }
  468.  ST_ASPECT_ASIS    = 0;
  469.  ST_ASPECT_WIDE    = 1;
  470.  ST_ASPECT_TALL    = 2;
  471.  ST_ASPECT_BOTH    = 3;
  472.  ST_FITS_WIDE      = 4;
  473.  ST_FITS_TALL      = 5;
  474.  ST_FITS_BOTH      = 6;
  475.  
  476. { constants for PrinterPSPrefs.ps_Centering }
  477.  CENT_NONE  = 0;
  478.  CENT_HORIZ = 1;
  479.  CENT_VERT  = 2;
  480.  CENT_BOTH  = 3;
  481.  
  482.  
  483.    {   File format for text printer preferences }
  484.  
  485. const
  486.  ID_PTXT = 1347704916;
  487.  ID_PUNT = 1347767892;
  488.  
  489.  
  490.  DRIVERNAMESIZE = 30;               { Filename size     }
  491.  DEVICENAMESIZE = 32;               { .device name size }
  492.  
  493. Type
  494.  pPrinterTxtPrefs = ^tPrinterTxtPrefs;
  495.  tPrinterTxtPrefs = record
  496.     pt_Reserved     : Array[0..3] of Longint;               { System reserved            }
  497.     pt_Driver       : Array[0..DRIVERNAMESIZE-1] of Char;   { printer driver filename    }
  498.     pt_Port         : Byte;                                 { printer port connection    }
  499.  
  500.     pt_PaperType,
  501.     pt_PaperSize,
  502.     pt_PaperLength,               { Paper length in # of lines }
  503.  
  504.     pt_Pitch,
  505.     pt_Spacing,
  506.     pt_LeftMargin,                { Left margin                }
  507.     pt_RightMargin,               { Right margin       }
  508.     pt_Quality      : WORD;
  509.  end;
  510.  
  511. const
  512. { constants for PrinterTxtPrefs.pt_Port }
  513.  PP_PARALLEL = 0;
  514.  PP_SERIAL   = 1;
  515.  
  516. { constants for PrinterTxtPrefs.pt_PaperType }
  517.  PT_FANFOLD  = 0;
  518.  PT_SINGLE   = 1;
  519.  
  520. { constants for PrinterTxtPrefs.pt_PaperSize }
  521.  PS_US_LETTER   = 0 ;
  522.  PS_US_LEGAL    = 1 ;
  523.  PS_N_TRACTOR   = 2 ;
  524.  PS_W_TRACTOR   = 3 ;
  525.  PS_CUSTOM      = 4 ;
  526.  PS_EURO_A0     = 5 ;              { European size A0: 841 x 1189 }
  527.  PS_EURO_A1     = 6 ;              { European size A1: 594 x 841  }
  528.  PS_EURO_A2     = 7 ;              { European size A2: 420 x 594  }
  529.  PS_EURO_A3     = 8 ;              { European size A3: 297 x 420  }
  530.  PS_EURO_A4     = 9 ;              { European size A4: 210 x 297  }
  531.  PS_EURO_A5     = 10;              { European size A5: 148 x 210  }
  532.  PS_EURO_A6     = 11;              { European size A6: 105 x 148  }
  533.  PS_EURO_A7     = 12;              { European size A7: 74 x 105   }
  534.  PS_EURO_A8     = 13;              { European size A8: 52 x 74    }
  535.  
  536. { constants for PrinterTxtPrefs.pt_PrintPitch }
  537.  PP_PICA  = 0;
  538.  PP_ELITE = 1;
  539.  PP_FINE  = 2;
  540.  
  541. { constants for PrinterTxtPrefs.pt_PrintSpacing }
  542.  PS_SIX_LPI   = 0;
  543.  PS_EIGHT_LPI = 1;
  544.  
  545. { constants for PrinterTxtPrefs.pt_PrintQuality }
  546.  PQ_DRAFT  = 0;
  547.  PQ_LETTER = 1;
  548.  
  549. Type
  550.  pPrinterUnitPrefs = ^tPrinterUnitPrefs;
  551.  tPrinterUnitPrefs = record
  552.     pu_Reserved         : Array[0..3] of Longint;              { System reserved              }
  553.     pu_UnitNum          : Longint;                             { Unit number for OpenDevice() }
  554.     pu_OpenDeviceFlags  : ULONG;                               { Flags for OpenDevice()       }
  555.     pu_DeviceName       : Array[0..DEVICENAMESIZE-1] of Char;  { Name for OpenDevice()        }
  556.  end;
  557.  
  558.   {     File format for screen mode preferences }
  559.  
  560. const
  561.  ID_SCRM = 1396920909;
  562.  
  563.  
  564. Type
  565.  pScreenModePrefs = ^tScreenModePrefs;
  566.  tScreenModePrefs = record
  567.     smp_Reserved        : Array[0..3] of ULONG;
  568.     smp_DisplayID       : ULONG;
  569.     smp_Width,
  570.     smp_Height,
  571.     smp_Depth,
  572.     smp_Control         : Word;
  573.  end;
  574.  
  575. const
  576. { flags for ScreenModePrefs.smp_Control }
  577.  SMB_AUTOSCROLL = 1;
  578.  
  579.  SMF_AUTOSCROLL = 1;
  580.  
  581.  {      File format for serial preferences }
  582.  
  583. const
  584.  ID_SERL = 1397051980;
  585.  
  586.  
  587. Type
  588.  pSerialPrefs = ^tSerialPrefs;
  589.  tSerialPrefs = record
  590.     sp_Reserved     : Array[0..2] of Longint;               { System reserved                  }
  591.     sp_Unit0Map,                  { What unit 0 really refers to     }
  592.     sp_BaudRate,                  { Baud rate                        }
  593.  
  594.     sp_InputBuffer,               { Input buffer: 0 - 65536          }
  595.     sp_OutputBuffer : ULONG;      { Future: Output: 0 - 65536        }
  596.  
  597.     sp_InputHandshake,            { Input handshaking                }
  598.     sp_OutputHandshake,           { Future: Output handshaking       }
  599.  
  600.     sp_Parity,                    { Parity                           }
  601.     sp_BitsPerChar,               { I/O bits per character           }
  602.     sp_StopBits     : Byte;       { Stop bits                        }
  603.  end;
  604.  
  605. const
  606. { constants for SerialPrefs.sp_Parity }
  607.  PARITY_NONE     = 0;
  608.  PARITY_EVEN     = 1;
  609.  PARITY_ODD      = 2;
  610.  PARITY_MARK     = 3;               { Future enhancement }
  611.  PARITY_SPACE    = 4;               { Future enhancement }
  612.  
  613. { constants for SerialPrefs.sp_Input/OutputHandshaking }
  614.  HSHAKE_XON      = 0;
  615.  HSHAKE_RTS      = 1;
  616.  HSHAKE_NONE     = 2;
  617.  
  618.     {   File format for sound preferences  }
  619.  
  620. const
  621.  ID_SOND = 1397706308;
  622.  
  623. Type
  624.  pSoundPrefs = ^tSoundPrefs;
  625.  tSoundPrefs = record
  626.     sop_Reserved        : Array[0..3] of Longint;            { System reserved            }
  627.     sop_DisplayQueue,               { Flash the display?         }
  628.     sop_AudioQueue      : Boolean;  { Make some sound?           }
  629.     sop_AudioType,                  { Type of sound, see below   }
  630.     sop_AudioVolume,                { Volume of sound, 0..64     }
  631.     sop_AudioPeriod,                { Period of sound, 127..2500 }
  632.     sop_AudioDuration   : WORD;     { Length of simple beep      }
  633.     sop_AudioFileName   : Array[0..255] of Char;     { Filename of 8SVX file      }
  634.  end;
  635.  
  636. const
  637. { constants for SoundPrefs.sop_AudioType }
  638.  SPTYPE_BEEP    = 0;       { simple beep sound }
  639.  SPTYPE_SAMPLE  = 1;       { sampled sound     }
  640.  
  641.    {   File format for wbpattern preferences  }
  642.  
  643. const
  644.  ID_PTRN = 1347703374;
  645.  
  646. Type
  647.  pWBPatternPrefs = ^tWBPatternPrefs;
  648.  tWBPatternPrefs = record
  649.     wbp_Reserved    : Array[0..3] of ULONG;
  650.     wbp_Which,                     { Which pattern is it }
  651.     wbp_Flags       : WORD;
  652.     wbp_Revision,                  { Must be set to zero }
  653.     wbp_Depth       : Byte;        { Depth of pattern }
  654.     wbp_DataLength  : WORD;        { Length of following data }
  655.  end;
  656.  
  657. const
  658. { constants for WBPatternPrefs.wbp_Which }
  659.  WBP_ROOT       = 0;
  660.  WBP_DRAWER     = 1;
  661.  WBP_SCREEN     = 2;
  662.  
  663. { wbp_Flags values }
  664.  WBPF_PATTERN   = $0001;
  665.     { Data contains a pattern }
  666.  
  667.  WBPF_NOREMAP   = $0010;
  668.     { Don't remap the pattern }
  669.  
  670. {***************************************************************************}
  671.  
  672.  MAXDEPTH       = 3;       {  Max depth supported (8 colors) }
  673.  DEFPATDEPTH    = 2;       {  Depth of default patterns }
  674.  
  675. {  Pattern width & height: }
  676.  PAT_WIDTH      = 16;
  677.  PAT_HEIGHT     = 16;
  678.  
  679. IMPLEMENTATION
  680.  
  681. END.
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.